package com.aiwei.tdjk.service;

import com.aiwei.tdjk.bean.Menu;
import com.aiwei.tdjk.entity.Resource;
import com.aiwei.tdjk.entity.User;

import java.util.List;

/**
 * Created by yanfeng on 2016/12/13.
 */
public interface ResourceService {

    List<Menu> findMenus(User user);

    Resource findOne(Long id);

    List<Resource> findAll();

    /**
     * 得到真实的资源标识  即 父亲:儿子
     * @param resource
     * @return
     */
    String findActualResourceIdentity(Resource resource);



    /**
     * 查询all组织机构
     * @return
     */
    List<Resource> findAllWithSort(boolean isShow);

    /**
     * 根据名称模糊查询组织机构
     * @param name
     * @return
     */
    List<Resource> findAllByName(String name);


    /**
     * 新增子节点
     * @param parentId
     * @param child
     */
    void appendChild(long parentId,Resource child);

    /**
     * 删除节点
     * @param id
     */
    void delete(long id);


    void deleteSelfAndChild(long id,String makeSelfAsNewParentIds);

    /**
     * 根据主键id获取元素
     * @param id
     * @return
     */
    Resource get(long id);

    /**
     * 更新节点
     * @param resource
     */
    void update(Resource resource);

}
